package com.guyu.plugin.oss;

import cn.hutool.extra.spring.SpringUtil;
import com.guyu.plugin.oss.dao.OssDao;
import com.guyu.plugin.oss.dao.OssDaoDefaultImpl;
import lombok.extern.slf4j.Slf4j;

import java.util.Objects;

@Slf4j
public class OssManager {

    private volatile static OssDao ossDao;

    public static OssDao getOssDao() {
        try {
            ossDao = SpringUtil.getBean(OssDao.class);
            log.debug("Spring加载OssDao成功，使用{}", ossDao.getClass().getName());
        } catch (Exception e) {
            log.debug("尝试其他框架加载OssDao......");
        }

        if (Objects.nonNull(ossDao)) {
            return ossDao;
        }
        ossDao = OssDaoDefaultImpl.getInstance();
        return ossDao;
    }


}
